new Class[] { String[].class } 和 new Object[] { new String[0] } 是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/09/23 09:29:15
new Class[] { String[].class }

new Object[] { new String[0] }
在程序中看到的,我怎么就是理解不了
这两个数组中的{ }里面是什么意思?
按正常情况下,应该放新建的数组里的数值。

Class[] a=new Class[]{String[].class};
Object[] b=new Object[]{new String[0]};
生成2个新的数组,第一个数组里存的是Class类型,第二个存放的是Object类型.
第一个把String[].class作为初始值赋给了Class[0],即[Ljava.lang.String
第二个吧new String[0]作为初始值赋给了Object[0];这2个语法运行过没有错误

Class[] a=new Class[]{String[].class};
Object[] b=new Object[]{new String[0]};
生成2个新的数组,第一个数组里存的是Class类型,第二个存放的是Object类型.
第一个把String[].class作为初始值赋给了Class[0],即[Ljava.lang.String
第二个吧new String[0]作为初始值赋给了Object[0];这2个语法楼主肯定都运行过没有错误,你自己System.out.println(a[0]);
System.out.println(b[0])就能知道里面究竟是什么东西了

匿名的两个数组,第一个是类型为Class[]的数组,它长度为1,存放了一个String[]的类型。
第二个是类型为Object[]的数组,它长度为1,存放了一个匿名String[],长度为1

PS:谁这么变态!这么用!